home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / util / pack / ULIB3954.lha / UnpackLib / Programmers_Docs / UnpackLib_History < prev    next >
Text File  |  1994-12-05  |  10KB  |  274 lines

  1. ***************************************************************************
  2. *                     HISTORY FOR THE UNPACK.LIBRARY                      *
  3. ***************************************************************************
  4.  
  5.         Unpack.library V39.54
  6.  
  7.         The unpack.library was coded by Thomas Neumann alias Tax of
  8.         Access for SHI (Safe Hex International).
  9.  
  10.         See also the doc file for more information about this library.
  11.  
  12. ***************************************************************************
  13. *                    Ideas coming up in newer versions                    *
  14. ***************************************************************************
  15.  
  16. - Detect more crunchers, ofcourse :-)
  17.  
  18. ***************************************************************************
  19. *                              New functions                              *
  20. ***************************************************************************
  21.  
  22. V34.1   TestHunk(), UnpackNum(), UnpackList() & UnpackListNext()
  23. V34.20  LoadFile(), FreeFile()
  24. V36.30  UseDrive(), UnuseDrive(), SendCmd()
  25. V37.32  NewUnpackNum()
  26.  
  27. ***************************************************************************
  28. *                         BUG Report and changes                          *
  29. ***************************************************************************
  30.  
  31. V34.1
  32. -----
  33.  
  34. Nico  François  has  changed  the Hunk_Reloc32 structure in his PowerPacker
  35. V4.0. I haven't noticed it before, so when you decrunch a V4.0 Object file,
  36. you will get a defect object file. This is fixed now.
  37.  
  38. Moved  the  UI_CrunchLen in the info structure from the private area to the
  39. user area and added a UI_CrunchLenTemp at the old place instead.
  40.  
  41. V34.11
  42. ------
  43.  
  44. When  you  decrunch  a  file and there isn't enought memory, the error flag
  45. didn't indicate a memory error. This is fixed now.
  46.  
  47. V34.20
  48. ------
  49.  
  50. A new bit in the UI_CrunchType are implemented. It's bit number 7. This bit
  51. indicates  if  the file are encrypted, like PowerPacker encryption. If set,
  52. it's an encrypted file.
  53.  
  54. When the Unpack() function calls the TestHunk() function and the TestHunk()
  55. returns  an error, the computer makes a system failure. (I forgot to return
  56. a value from the stack :-(
  57.  
  58. A little bug fixed in the TestHunk() function.
  59.  
  60. A NOTE TO Nico François:
  61. ------------------------
  62.  
  63. I  think  there  are  a  bug  in your PowerPacker when you handle overlayed
  64. files.  I  have  try  with  an  old  version  of DeluxePaint III and in the
  65. unpacked file the header says there are 12 hunks, where the first three are
  66. loaded  first  and the rest are overlays. Then I crunch it with PowerPacker
  67. and  your  decruncher  have  only  2  hunks  to  be loaded and the rest are
  68. overlays,  but  the  header  still  says there are 12 hunks!!! (Tested with
  69. PowerPacker V4.2).
  70.  
  71. The  Determine()  function  have  some  problems  with Imploder 4.0 library
  72. header. This should be fixed now.
  73.  
  74. There  was  a  bug  in the delete routine in the filepack unpacker. It goes
  75. into  a  never  ending  loop if it tries to delete a directory there are in
  76. use,  for  example  if  you  have  an assign to a directory and then try to
  77. delete  it,  the  routine goes into the loop. This is fixed, I just have to
  78. test the DOS error number for number 202 (Object in use).
  79.  
  80. A little bug in the UnpackListNext() function are fixed.
  81.  
  82. V34.21
  83. ------
  84.  
  85. Compressor Crackings Inc. cruncher are changed to TNM Cruncher.
  86.  
  87. V35.22
  88. ------
  89.  
  90. A  bug  in  the  LHA  unpacker  routine  fixed. It didn't check for the LHA
  91. program failed.
  92.  
  93. The NoFree bit in the UI_Flag has been born.
  94.  
  95. Added a UserData field in the info structure.
  96.  
  97. A  little  bug  in the LoadFile() function fixed. Didn't free the memory if
  98. there occurs an error when reading the file.
  99.  
  100. The file currupt error implemented.
  101.  
  102. A bug in the Titantic Decruncher fixed.
  103.  
  104. When  you  try to decrunch a LHA file, you have to open a CLI window first.
  105. This  is  because  when  I  call  the  Execute()  function, I give zero for
  106. standard  input  and  output.  Now  I  open  the  NIL:  first  and use this
  107. filehandler.  If  you  still find any errors with the LHA unpacker routine,
  108. please contact me.
  109.  
  110. V36.30
  111. ------
  112.  
  113. A bug in the powerpacker decruncher routine fixed. Couldn't handle BSS_Hunk
  114. correctly.
  115.  
  116. The code in the library are rotated and optimized some places.
  117.  
  118. Cache clearing are implemented.
  119.  
  120. I forgot to put the UI_UserData field in A1 when unpacking archive files.
  121.  
  122. Added  some new fields in the info structure and a few new functions so the
  123. programmer easy can unpack track-crunched files.
  124.  
  125. V36.31
  126. ------
  127.  
  128. A bug in the determine routine for the Double Action cruncher fixed.
  129.  
  130. Doc's are fixed and removed into different directories.
  131.  
  132. V37.32
  133. ------
  134.  
  135. The  CLI  command  version will now work. I don't know how long time I have
  136. used to fix this bug. It was just a stupid 'V' before the version number in
  137. the ID string :^<
  138.  
  139. The  Gnu  Packer  numbers  are changed a bit, see the include file for more
  140. information.
  141.  
  142. Woooow!!!  I  have  optimized the DetermineFile() function a lot, so now is
  143. must faster and fill about 1.5K less than the old one!!!! Isn't that great?
  144. 8-O
  145.  
  146. An  enforcer  hit  was  detected  in  the old DetermineFile() function, but
  147. this is fixed now in the new function.
  148.  
  149. An ErrorMsg pointer are implemented.
  150.  
  151. The NoLoad flag are implemented and the UI_CrunchAdr field are made public.
  152.  
  153. The   UnpackNum()   function  are  made  OBSOLETE!!!  A  new  function  are
  154. implemented so the C programmers can use this function.
  155.  
  156. The  UnpackListNext()  function  returns now a zero in A1 when there are no
  157. more crunchers in the list.
  158.  
  159. A big bug fixed in the StoneCracker 2.92-2.99d unpacker routine.
  160.  
  161. A  little  bug  fixed in the Crunch Mania Reloc unpacker routine and in the
  162. determine routine.
  163.  
  164. A giga bug fixed in the TurboSqueeze 8.0 unpacker routine. Didn't reloc the
  165. file.
  166.  
  167. V38.40
  168. ------
  169.  
  170. I major bug fixed in the PowerPacker decruncher. Couldn't handle hunks with
  171. a length of 0.
  172.  
  173. Added the protection bit in the UI_Flag.
  174.  
  175. The Unpack() function are made recursive. See docs for more info.
  176.  
  177. The Defjam32 Label changed to Defjam36.
  178.  
  179. Added the UI_LhaPattern pointer to the info structure.
  180.  
  181. V39.50
  182. ------
  183.  
  184. A bug fixed in the PowerPacker V3.0 unpacker routine.
  185.  
  186. A  major  bug  fixed  in  the recursive routine. The whole Archive scanning
  187. routine are rewritten. See new example of how to make an unpacker routine.
  188.  
  189. The UI_UseFilenamePointer flag are implemented.
  190.  
  191. Now  will  the  DetermineFile() function only change the protection bits if
  192. the R,W,E or D bits are NOT set, instead of always change them.
  193.  
  194. V39.51
  195. ------
  196.  
  197. A bug fixed in the AllocCInfo() functions. Didn't save the A2 register :(.
  198.  
  199. If  you set the UI_Path to zero, a copy are made from address zero instead
  200. of skipping it.
  201.  
  202. A big thanks to Gabriele Greco for his bug letter!! The first bug you write
  203. about  the  UnpackList()  & UnpackListNext() functions was the whole bug in
  204. the  library!!!  If  you  look at my info structure, you will notice that I
  205. have  a  BOOL  datatype  and under that a UBYTE. The only reason I have the
  206. UBYTE as a pad, its I throught that the BOOL was 8 bit, but it isn't, is 16
  207. bit!! That means, all the other datatypes under the UBYTE will be stored at
  208. odd  addresses,  and  that  wouldn't  work on a 68000. So big thanks to you
  209. Gabriele :-).
  210.  
  211. Well,  I  think  there  are  a bug in the OneFile mode of the Lha unpacking
  212. routine, because I have seen a SnoopDos log file where the name the library
  213. should  unpack  are  garbage.  I have looked at it, and I couldn't find any
  214. errors.  Maybe  it  had something about caches, so I implement a ClearCache
  215. routine  between  I  have  read  from  the  lha  file and begin to copy the
  216. filename from it.
  217.  
  218. V39.52
  219. ------
  220.  
  221. Some Enforcer hits removed from the Determine Function.
  222.  
  223. Optimized a little bit around in the library.
  224.  
  225. Fixed  the  LHA unpacker. It should work now. It was some problems with the
  226. LHA  extract  output  file reader. Sometimes it reach a wrong place and try
  227. to  open  a  file  with  that name, which a "Please Insert Volume Extract:"
  228. requester will appear.
  229.  
  230. V39.53
  231. ------
  232.  
  233. Fixed  a  minor  bug  in  the lha extract routine. Now it should handle the
  234. display files (the files with the name "*") currently.
  235.  
  236. Recoded the TestHunk() function. Sometimes it says a file with overlays was
  237. defect. Now it should work.
  238.  
  239. I  have set a indentifier in front of all the functions call. The functions
  240. work  as  they always have do, but instead of write Unpack(a6), you have to
  241. write upUnpack(a6).
  242.  
  243. Fixed  a bug in the Determine() function. Couldn't indentify Imploder files
  244. currently.
  245.  
  246. Thanks to Erik Løvendahl for the bug report file.
  247.  
  248. V39.54
  249. ------
  250.  
  251. Well, only one thing is changed in this version, and that is if the library
  252. get  some  kind of an error when unpacking lha archives, it will not delete
  253. any  files  there are unpacked if the delete flag is on. This is changed so
  254. it  now  delete  all  the  files even if it got some error. Notice that the
  255. library  will not jump through the jump vector if it got some error. Thanks
  256. to John Veldthuis for telling me about this little bug.
  257.  
  258. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  259.  
  260. If you find any bugs, then feel free to contact me on this address:
  261.  
  262.                              Thomas Neumann
  263.                              Kongensgade 78
  264.                              3550 Slangerrup
  265.                              Denmark
  266.  
  267. ***************************************************************************
  268. *                                                                         *
  269. ***************************************************************************
  270.  
  271.           Have fun with this library, signed
  272.  
  273.           Thomas Neumann, member of the SHI Anti Virus Group.
  274.